package com.base.autoproxy.cglib;

import org.springframework.cglib.proxy.Enhancer;

/**
 * @Author HBZ
 * @Date 2020/11/4 9:07
 * @Description
 */
public class CglibProxyMain {
    public static void main(String[] args) {
        // 通过CGLIB动态代理获取代理对象的过程
        Enhancer enhancer = new Enhancer();
        // 设置enhancer对象的父类
        enhancer.setSuperclass(CglibProxyService.class);
        // 设置enhancer的回调对象
        enhancer.setCallback(new CglibProxyInterceptor());
        // 创建代理对象
        CglibProxyService proxy = (CglibProxyService) enhancer.create();
        System.out.println(proxy.getClass());
        // 通过代理对象调用目标方法
        proxy.sayHello();
    }
}
